package com.fancy.recommendation.dto.response;

import lombok.Data;

import java.time.LocalDate;
import java.util.List;

/**
 * 榜单响应VO
 *
 * @author fancy
 */
@Data
public class RankingResponseVO {

    /**
     * 榜单类型
     */
    private String rankingType;

    /**
     * 周期类型
     */
    private String periodType;

    /**
     * 榜单日期
     */
    private LocalDate periodDate;

    /**
     * 榜单项目列表
     */
    private List<RankingItemVO> items;

    /**
     * 榜单更新时间
     */
    private LocalDate updateTime;

    @Data
    public static class RankingItemVO {

        /**
         * 排名位置
         */
        private Integer position;

        /**
         * 目标ID
         */
        private Long targetId;

        /**
         * 目标类型
         */
        private String targetType;

        /**
         * 分数
         */
        private Long score;

        /**
         * 详细信息（从其他服务获取）
         */
        private Object targetInfo;

        /**
         * 排名变化（相比上期）
         */
        private Integer rankChange;
    }
}
